import type { PageParam, PageResult } from '@vben/request';

import { requestClient } from '#/api/request';

export namespace AiFormTagRelApi {
  /** 表单标签关联关系信息 */
  export interface FormTagRel {
    id: number; // 表单标签关联关系id
    formId?: number; // 表单id
    tagId?: number; // 标签id
  }
}

/** 查询表单标签关联关系分页 */
export function getFormTagRelPage(
  data: PageParam,
  desensitize: boolean,
  encrypt: boolean,
) {
  return requestClient.post<PageResult<AiFormTagRelApi.FormTagRel>>(
    '/ai/form-tag-rel/page',
    data,
    { desensitize, encrypt },
  );
}

/** 查询表单标签关联关系详情 */
export function getFormTagRel(id: number) {
  return requestClient.get<AiFormTagRelApi.FormTagRel>(
    `/ai/form-tag-rel/get?id=${id}`,
  );
}

/** 新增表单标签关联关系 */
export function createFormTagRel(data: AiFormTagRelApi.FormTagRel) {
  return requestClient.post('/ai/form-tag-rel/create', data);
}

/** 修改表单标签关联关系 */
export function updateFormTagRel(data: AiFormTagRelApi.FormTagRel) {
  return requestClient.put('/ai/form-tag-rel/update', data);
}

/** 删除表单标签关联关系 */
export function deleteFormTagRel(id: number) {
  return requestClient.delete(`/ai/form-tag-rel/delete?id=${id}`);
}

/** 批量删除表单标签关联关系 */
export function deleteFormTagRelList(ids: number[]) {
  return requestClient.delete(
    `/ai/form-tag-rel/delete-list?ids=${ids.join(',')}`,
  );
}

/** 导出表单标签关联关系 */
export function exportFormTagRel(params: any) {
  return requestClient.download('/ai/form-tag-rel/export-excel', { params });
}
